package com.cleaningcloud.erp.service;

import java.util.List;
import com.cleaningcloud.erp.domain.ErpSaleReturn;
import com.cleaningcloud.erp.domain.dto.ErpSaleReturnDto;
import com.cleaningcloud.erp.domain.vo.ErpSaleReturnVo;

/**
 * 销售退换货Service接口
 * 
 * @author cleaningcloud
 * @date 2024-10-03
 */
public interface IErpSaleReturnService 
{
    /**
     * 查询销售退换货
     * 
     * @param saleReturnId 销售退换货主键
     * @return 销售退换货
     */
    ErpSaleReturn selectErpSaleReturnBySaleReturnId(Long saleReturnId);

    /**
     * 查询销售退换货列表
     * 
     * @param erpSaleReturn 销售退换货
     * @return 销售退换货集合
     */
    List<ErpSaleReturnVo> selectErpSaleReturnList(ErpSaleReturn erpSaleReturn);

    /**
     * 新增销售退换货
     * 
     * @param erpSaleReturn 销售退换货
     * @return 结果
     */
    int insertErpSaleReturn(ErpSaleReturnDto erpSaleReturn);

    /**
     * 修改销售退换货
     * 
     * @param erpSaleReturn 销售退换货
     * @return 结果
     */
    int updateErpSaleReturn(ErpSaleReturnDto erpSaleReturn);

    /**
     * 销售退换货审核
     * @param saleReturn
     * @return
     */
    int auditErpSaleReturn(ErpSaleReturn saleReturn);

    /**
     * 批量删除销售退换货
     * 
     * @param saleReturnIds 需要删除的销售退换货主键集合
     * @return 结果
     */
    int deleteErpSaleReturnBySaleReturnIds(Long[] saleReturnIds);

    /**
     * 删除销售退换货信息
     * 
     * @param saleReturnId 销售退换货主键
     * @return 结果
     */
    int deleteErpSaleReturnBySaleReturnId(Long saleReturnId);
}
